package com.hsmpay.common.util;

import org.apache.commons.lang.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 字符串校验器
 *
 * @author 颜铃璋
 * @version v1.0
 * @created 2013-3-22
 */
public class StringValidator {

    /**
     * 校验字符串是空的
     *
     * @param str
     * @return
     */
    public static boolean isBlank(String str) {
        return StringUtils.isBlank(str);
    }

    /**
     * 校验字符串不是空的
     *
     * @param str
     * @return
     */
    public static boolean isNotBlank(String str) {
        return StringUtils.isNotBlank(str);
    }

    /**
     * 校验字符串 是否是数字 ^-?\\d$
     *
     * @param str
     * @return
     */
    public static boolean isNumeric(String str) {
        if (null == str) return false;
        Pattern regex = Pattern.compile("^-?[0-9]+(.[0-9]*)?$");
        Matcher matcher = regex.matcher(str);
        return matcher.matches();
    }


    /**
     * 校验字符串 是否是非负整数
     *
     * @param str
     * @return
     */
    public static boolean isNonNegativeInt(String str) {
        if (null == str) return false;
        Pattern regex = Pattern.compile("^\\d$");
        Matcher matcher = regex.matcher("0");
        return matcher.matches();
    }

    /**
     * 校验字符串 是否是非负整数
     *
     * @param str
     * @param minLen 最小长度
     * @return
     */
    public static boolean isNonNegativeInt(String str, int minLen) {
        if (null == str) return false;
        Pattern regex = Pattern.compile("^\\d{" + minLen + ",}$");
        Matcher matcher = regex.matcher("0");
        return matcher.matches();
    }


}
